Gestalt Optional Features Response Masks
When you pass thekQAGestalt_OptionalFeatures
selector to theQAEngineGestalt
function,QAEngineGestalt
returns (through itsresponse
parameter) a value that indicates the optional features supported by a drawing engine. You can use these masks to test that value for a specific feature. The bits corresponding to supported features are ORed together to determine the returned value.
- Note
- A drawing engine may support an optional feature in software only (that is, unaccelerated). You can use the
kQAGestalt_FastFeatures
selector to determine which, if any, features are accelerated by a drawing engine.
#define kQAOptional_None 0 #define kQAOptional_DeepZ (1 << 0) #define kQAOptional_Texture (1 << 1) #define kQAOptional_TextureHQ (1 << 2) #define kQAOptional_TextureColor (1 << 3) #define kQAOptional_Blend (1 << 4) #define kQAOptional_BlendAlpha (1 << 5) #define kQAOptional_Antialias (1 << 6) #define kQAOptional_ZSorted (1 << 7) #define kQAOptional_PerspectiveZ (1 << 8) #define kQAOptional_OpenGL (1 << 9) #define kQAOptional_NoClear (1 << 10) #define kQAOptional_CSG (1 << 11) #define kQAOptional_BoundToDevice (1 << 12) #define kQAOptional_CL4 (1 << 13) #define kQAOptional_CL8 (1 << 14)Constant descriptions
kQAOptional_None
- This value is returned if the drawing engine supports no optional features.
kQAOptional_DeepZ
- This bit is set if the drawing engine supports deep z buffering (that is, z buffering with a resolution of greater than or equal to 24 bits per pixel).
kQAOptional_Texture
- This bit is set if the drawing engine supports texture mapping.
kQAOptional_TextureHQ
- This bit is set if the drawing engine supports high-quality texture mapping (that is, texture mapping using trilinear interpolation or an equivalent algorithm).
kQAOptional_TextureColor
- This bit is set if the drawing engine supports full color texture modulation and highlighting.
kQAOptional_Blend
- This bit is set if the drawing engine supports transparency blending.
kQAOptional_BlendAlpha
- This bit is set if the drawing engine supports transparency blending that uses an alpha channel.
kQAOptional_Antialias
- This bit is set if the drawing engine supports antialiasing.
kQAOptional_ZSorted
- This bit is set if the drawing engine supports z sorted rendering (for example, for transparency). If this bit is clear, an application must submit transparent objects for rendering in back-to-front z order (or the blending functions will not yield correct results). In general, an application should submit opaque objects first, followed by any transparent objects in back-to-front z order.
kQAOptional_PerspectiveZ
- This bit is set if the drawing engine supports perspective-corrected hidden surface removal.
kQAOptional_OpenGL
- This bit is set if the drawing engine supports the extended OpenGL feature set.
kQAOptional_NoClear
- This bit is set if the drawing engine doesn't clear the buffer before drawing (so that double-buffering might not be required in some applications).
kQAOptional_CSG
- This bit is set if the drawing engine supports CSG.
kQAOptional_BoundToDevice
- This bit is set if the drawing engine is tightly bound to a specific graphics device.
kQAOptional_CL4
- This bit is set if the drawing engine supports the
kQAPixel_CL4
pixel type.kQAOptional_CL8
- This bit is set if the drawing engine supports the
kQAPixel_CL8
pixel type.